package com.lyw.i04collectionProblem.listSolution;

import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;

/**
 *  List 集合高并发情况下的问题和解决方案
 *
 * @author lyw
 * @Date 2023/7/10-上午9:19
 */
public class ListProblem {

  public static void main(String[] args) {
    // 会出现并发问题
//    List<String> list = new ArrayList<>();
//    List<String> list = new Vector<>();
//    List<String> list = Collections.synchronizedList(new ArrayList<>());
    List<String> list = new CopyOnWriteArrayList<>();

    for (int i = 0; i < 30; i++) {
      new Thread(() -> {
        list.add(UUID.randomUUID().toString().substring(0, 8));
        System.out.println(list);
      }, String.valueOf(i)).start();
    }
  }
}
